In FIG. 1 a conventional 3GPP EPC network is shown: On the left of FIG. 1 base stations in the form of a LTE radio access network are connected to an evolved packet core EPC. Between an EPC packet data gateway and the packet data network, in FIG. 1 depicted as external network, a so-called SGi-LAN is implemented. Within the domain of SGi-LAN a technique or methodology referred to as service function chaining ‘SFC’ is usually implemented. In service function chaining, SFC, data packets are steered through a series of network functions, ‘NF’, where each NF will process/service the arriving packets to and from the EPC based on its functional and/or operational scope.
Conventionally and in the following the SFC domain comprises a classification function, a control function, a forwarding function and network function entities. The network functions provide network services, ‘NS’, to arriving flows of packets. When flows are arriving in the SFC domain they are classified by a classification function ‘CF’, based on some policy or rule that will determine the service(s) that the flows require. The classification may be based on detecting traffic type or application type, i.e. the classification function determines the service chain ‘SC’. Based on the service requirements a control function will create a network function forwarding graph, ‘NFFG’, for the respective flow(s). The NFFG lists the relevant network functions NF in the service chain SC that are required to provide a range of services to the respective flows. The NFFG also specifies the order of a chain in which these networks functions NF will be visited by the packets of the respective flows. The length of the service chains may vary depending on the flows' service requirements. The network functions can be hosted on specific physical nodes or they can be virtualized. When being virtualized they are generally referred to as virtualized network function, ‘VNF’, and the NFFG is referred to a virtual NFFG, ‘VNFFG’, and the overall service provided by a SFC is referred to as network service, ‘NS’, as disclosed in the non-patent literature of ETSI Network Functions Virtualization (NFV), “Terminology for Main Concepts in NFV”, ETSI GS NFV 003 V1.2.1, December 2014.
In FIG. 2 a conventional functional overview of the SFC domain is shown, i.e. a high level functional overview of an SFC domain comprising a chain of virtual network functions VNF1 to VNF4 is depicted in FIG. 2. For the routing of packets from one VNF to the next VNF in the chain, the control function translates the VNFFG into determining a Network Path, ‘NP’, from which forwarding rules are derived. These rules are then communicated by the control function towards the forwarding function, ‘FF’, which is part of the transport layer. The FF stores the forwarding rules in a forwarding table. In its simplest form the forwarding rule will specify the egress ports for packets arriving on ingress ports. The FF is responsible for steering traffic to the next hop VNF in the NP or service chain, ‘SC’. The FF will identify the packet, for example based on its header information, and forward it to the egress port specified in the forwarding table, from where the packet will be delivered to a next hop VNF or a FF that may in turn forward the packet to the next VNF in the chain.
The packet forwarding may be done based on the original packet header or a transport header ‘TH’, which may be appended to the original packet header where the TH may be a MPLS label, GRE header, VxLAN type header or the like or be a simple tag or label that may identify the service chain or flow as for example disclosed in the non-patent literature of S. Homma et al, “Analysis on Forwarding Methods for Service Chaining, draft-homma-sfc-forwarding-methods-analysis-01, Jan. 23, 2015.
Each VNF will then process/service the arriving packets based on its functional/operational scope before passing the packets again to a FF to steer it to the next hop VNF in the chain. In this way packets of flows are steered through a chain of multiple VNFs before it gets forwarded to its destination.
However, the traffic load in the SFC domain is very high as most of the traffic entering the mobile core network converges in the SGi-LAN as shown in FIG. 1. Protocol header, for example TCP/UDP and IP of each packet that goes through a service chain SC will be processed by each network function NF in the chain for local delivery to identify a flow and to select the associated processing rules to process the packet as per function's operational and functional scope. This results in processing delay which gets compounded with every packet that goes through a service chain.
A further disadvantage—besides processing overhead—is additional overhead which may also be incurred as the packets entering the SFC domain will be appended with an additional header or tag as disclosed in the non-patent literature of S. Homma et al, “Analysis on Forwarding Methods for Service Chaining, draft-homma-sfc-forwarding-methods-analysis-01, Jan. 23, 2015. Such an additional header or tag is used to uniquely distinguish between packets belonging to particular flows. These additional tags enable a forwarding function to steer the packets belonging to a particular flow through the respective service chains.
Further some intermediate virtual network functions VNFs may add metadata to a packet that may be required by the subsequent virtual network functions VNFs in the service chain SC and this overhead in addition to the packet's own header will increase the packet size thereby increasing the likelihood of the packet size to exceed the MTU size. Consequently this will add additional complexity of managing packet fragmentation and reassembly and, considering the high traffic volume in the SGi-LAN, this additional overhead will also increase the load in the SFC domain.